Data communication applications and the use of data networks continue to grow at a rapid pace. Often times it is desirable to communicate (switch) data from one segment of a data network to another segment of the data network. Often it is desirable to have such data communication occur with as little latency as possible. Different approaches may be used to accomplish such switching of data traffic.
One current approach is the use of mesh networks. In a mesh network, each element (node) of the network is directly connected to every other node in the network. Such an approach achieves low latency for communicating data from one node to another. However, implementing such a configuration in networks with a large number of nodes may be prohibitive due to the number of data connections each network node must support. Because each node in a mesh network is directly connected to every other node in the network, each node in the network must support N-1 network connections/interfaces, where N is the number of nodes in the network. In a simple example, to implement a mesh network for 10 nodes, each node must support 9 network connections. Such an approach is costly and complicated to implement.
Another current approach for communicating data from one portion of a network to another portion of the network is the use of ring networks. A ring network, as the term implies, is implemented by connecting nodes of a network in a circular fashion. Data may be moved from one segment of an associated network to another segment of the network by transmitting the data to one of the nodes of the ring. The data may then be communicated, via the ring connections, to another node of the ring and then communicated to its desired destination.
While ring networks do not require the large number of connections that are used in a mesh network, such approaches also have drawbacks. First, ring networks may experience data congestion when used in networks that carry a high volume of data traffic as there is typically only a single network connection between elements of the ring. Such congestion may lead to data traffic blocking problems, as well as packet loss due to packets being dropped as a result of data congestion. Also, the ring configuration, even in the absence of congestion or blocking problems, may increase the latency of communicating data from a source to a destination by significantly increasing the number of hops the data must take between its source and destination, such as compared to a mesh network.